
package Administrador.Interfaz;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import org.freixas.jcalendar.JCalendar;
import org.freixas.jcalendar.JCalendarCombo;
/**
 *
 * @author lady
 */
public class InterfazProducto implements ActionListener{
     
      GestorProductos objGestorProductos=GestorProductos.getInstance();
      Validador objValidador = new Validador();
     JTextField tfCodigo,tfNombre,tfEmpresa,tfDescripcion,tfPrecio,tfIva,tfCantidad,tfDetalles,tfCategoria,tfLargo,tfAncho,tfColor,tfMaterial; 
     JTextArea taDescripcion,taUso;
     JComboBox cCategorias;
   // public String documentoCl, direccionCl,telefonoCl;
      public JButton btAgregar,btAgregarD;
      
    
    
      public JPanel registrarProducto()
    {
        JPanel panelConsulta = new JPanel();        
        JLabel lbCodigo,lbNombre,lbEmpresa,lbDescripcion,lbPrecio,lbIva,lbCantidad,lbDetalles,lbCategoria,lbAncho,
                lbLargo,lbColor,lbMaterial,lbUso,lbCategorias;
        JScrollPane jsDescripcion,jsUso;
        
        
        panelConsulta.setLayout(null);
        panelConsulta.setOpaque(false);
        
        lbCodigo = new JLabel();
        lbNombre = new JLabel();
        lbPrecio = new JLabel();
        lbIva = new JLabel();
        lbEmpresa = new JLabel();
        lbDescripcion = new JLabel();
        lbAncho = new JLabel();
        lbCantidad=new JLabel();
        lbLargo = new JLabel();
        lbColor = new JLabel();
        lbMaterial = new JLabel();
        lbUso = new JLabel();
        lbCategorias=new JLabel();
        tfCodigo = new JTextField();
        tfNombre = new JTextField();
        tfPrecio = new JTextField();
        tfIva = new JTextField();
        tfEmpresa = new JTextField();
        jsDescripcion = new JScrollPane();
        taDescripcion = new JTextArea();
        tfAncho = new JTextField();
        tfCantidad=new JTextField();
        tfLargo = new JTextField();
        tfColor = new JTextField();
        tfMaterial = new JTextField();
        jsUso = new JScrollPane();
        taUso = new JTextArea();
        cCategorias=new JComboBox();

        lbCodigo.setText("Codigo");
        lbCodigo.setFont(Font.decode("Verdana-BOLD-14"));
        lbCodigo.setForeground(Color.WHITE);
        panelConsulta.add(lbCodigo);
        lbCodigo.setBounds(90, 70, 80, 17);

        lbNombre.setText("Nombre");
        lbNombre.setFont(Font.decode("Verdana-BOLD-14"));
        lbNombre.setForeground(Color.WHITE);
        panelConsulta.add(lbNombre);
        lbNombre.setBounds(90, 110, 90, 17);

        lbPrecio.setText("Precio");
        lbPrecio.setFont(Font.decode("Verdana-BOLD-14"));
        lbPrecio.setForeground(Color.WHITE);
        panelConsulta.add(lbPrecio);
        lbPrecio.setBounds(100, 150, 54, 17);

        lbIva.setText("IVA");
        lbIva.setFont(Font.decode("Verdana-BOLD-14"));
        lbIva.setForeground(Color.WHITE);
        panelConsulta.add(lbIva);
        lbIva.setBounds(120, 190, 31, 17);

        lbEmpresa.setText("Empresa");
        lbEmpresa.setFont(Font.decode("Verdana-BOLD-14"));
        lbEmpresa.setForeground(Color.WHITE);
        panelConsulta.add(lbEmpresa);
        lbEmpresa.setBounds(80, 230, 71, 17);

        lbDescripcion.setText("Descripcion");
        lbDescripcion.setFont(Font.decode("Verdana-BOLD-14"));
        lbDescripcion.setForeground(Color.WHITE);
        panelConsulta.add(lbDescripcion);
        lbDescripcion.setBounds(60, 280, 92, 17);
        
        lbCantidad.setText("Cantidad");
        lbCantidad.setFont(Font.decode("Verdana-BOLD-14"));
        lbCantidad.setForeground(Color.WHITE);
        panelConsulta.add(lbCantidad);
        lbCantidad.setBounds(480, 70, 70, 17);

        lbAncho.setText("Ancho");
        lbAncho.setFont(Font.decode("Verdana-BOLD-14"));
        lbAncho.setForeground(Color.WHITE);
        panelConsulta.add(lbAncho);
        lbAncho.setBounds(660, 110, 49, 17);

        lbLargo.setText("Largo");
        lbLargo.setFont(Font.decode("Verdana-BOLD-14"));
        lbLargo.setForeground(Color.WHITE);
        panelConsulta.add(lbLargo);
        lbLargo.setBounds(502, 110, 50, 17);

        lbColor.setText("Color");
        lbColor.setFont(Font.decode("Verdana-BOLD-14"));
        lbColor.setForeground(Color.WHITE);
        panelConsulta.add(lbColor);
        lbColor.setBounds(504, 150, 50, 17);

        lbMaterial.setText("Material");
        lbMaterial.setFont(Font.decode("Verdana-BOLD-14"));
        lbMaterial.setForeground(Color.WHITE);
        panelConsulta.add(lbMaterial);
        lbMaterial.setBounds(484, 190, 67, 17);

        lbUso.setText("Uso");
        lbUso.setFont(Font.decode("Verdana-BOLD-14"));
        lbUso.setForeground(Color.WHITE);
        panelConsulta.add(lbUso);
        lbUso.setBounds(514, 232, 49, 17);
        
        lbCategorias.setText("Categoria");
        lbCategorias.setFont(Font.decode("Verdana-BOLD-14"));
        lbCategorias.setForeground(Color.WHITE);
        panelConsulta.add(lbCategorias);
        lbCategorias.setBounds(475, 340, 80, 17);

        tfCodigo.setText("");
        panelConsulta.add(tfCodigo);
        tfCodigo.setBounds(160, 70, 250, 27);

        tfNombre.setText("");
        panelConsulta.add(tfNombre);
        tfNombre.setBounds(160, 110, 210, 27);

        tfPrecio.setText("");
        panelConsulta.add(tfPrecio);
        tfPrecio.setBounds(160, 150, 180, 27);

        tfIva.setText("");
        panelConsulta.add(tfIva);
        tfIva.setBounds(160, 190, 250, 27);

        tfEmpresa.setText("");
        panelConsulta.add(tfEmpresa);
        tfEmpresa.setBounds(160, 230, 210, 27);

        taDescripcion.setColumns(20);
        taDescripcion.setRows(5);
        jsDescripcion.setViewportView(taDescripcion);

        panelConsulta.add(jsDescripcion);
        jsDescripcion.setBounds(160, 280, 250, 87);

        tfCantidad.setText("");
        panelConsulta.add(tfCantidad);
        tfCantidad.setBounds(560, 70, 210, 27);
        
        tfAncho.setText("");
        panelConsulta.add(tfAncho);
        tfAncho.setBounds(720, 110, 50, 27);

        tfLargo.setText("");
        panelConsulta.add(tfLargo);
        tfLargo.setBounds(560, 110, 50, 27);

        tfColor.setText("");
        panelConsulta.add(tfColor);
        tfColor.setBounds(560, 150, 210, 27);

        tfMaterial.setText("");
        panelConsulta.add(tfMaterial);
        tfMaterial.setBounds(560, 190, 210, 27);

        taUso.setColumns(20);
        taUso.setRows(5);
        jsUso.setViewportView(taUso);
        panelConsulta.add(jsUso);
        jsUso.setBounds(560, 230, 220, 90);
        
        cCategorias.setBounds(560,340,210,27);
        cCategorias.setModel(new DefaultComboBoxModel(new String[] { "Carpas", "Colchones", "Equipaje", "Muebles","Termos" }));
        panelConsulta.add(cCategorias);
                
        btAgregar = new JButton("Agregar");
        btAgregar.setBounds(360, 430, 144, 30);
        panelConsulta.add(btAgregar);
        btAgregar.addActionListener(this);
        
        
        return panelConsulta;
    }
       public JPanel agregarDescuento()
    {
        JPanel panelDescuento = new JPanel();        
        JLabel lbCodigop,lbPorcentaje,lbFechaf;
        JTextField tfCodigop,tfPorcentaje; 
        JCalendarCombo cFechaf;
        
        panelDescuento.setLayout(null);
        panelDescuento.setOpaque(false);
        
        lbCodigop = new JLabel("Código del Producto ");
        lbPorcentaje = new JLabel("Porcentaje de Descuento ");
        lbFechaf = new JLabel("Fecha Final ");
        
        
        tfCodigop = new JTextField();
        tfPorcentaje = new JTextField();
        cFechaf=new JCalendarCombo();
      
        btAgregarD = new JButton("Agregar");
        
        lbCodigop.setFont(Font.decode("Verdana-BOLD-14"));
        lbPorcentaje.setFont(Font.decode("Verdana-BOLD-14"));
        lbFechaf.setFont(Font.decode("Verdana-BOLD-14"));

        lbCodigop.setForeground(Color.WHITE);
        lbPorcentaje.setForeground(Color.WHITE);
        lbFechaf.setForeground(Color.WHITE);
        
        lbCodigop.setBounds(100, 55, 180, 29);
        lbPorcentaje.setBounds(70,155,210,29);
        lbFechaf.setBounds(170, 255, 180, 29);
        
        tfCodigop.setBounds(279, 55, 250, 29);
        tfPorcentaje.setBounds(279,155,250,29);
        cFechaf.setBounds(279, 255, 250, 29);
        
        
        btAgregarD.setBounds(300, 355, 144, 30);  
        btAgregarD.addActionListener(this);
        panelDescuento.setBounds(184,20, 870, 490);
      
        
        panelDescuento.add(lbCodigop);
        panelDescuento.add(lbPorcentaje);
        panelDescuento.add(lbFechaf);
        panelDescuento.add(tfCodigop);
        panelDescuento.add(tfPorcentaje);
        panelDescuento.add(cFechaf);
        panelDescuento.add(btAgregarD);
        
        return panelDescuento;
    }

   
    public void actionPerformed(ActionEvent evento) {
      if(evento.getSource()==btAgregar)
                {
              
            String codigo=tfCodigo.getText();
            String nombre= tfNombre.getText();
            String empresa=tfEmpresa.getText();
            String descripcion=String.valueOf(taDescripcion);
            String cantidad=tfCantidad.getText();
            String precio=tfPrecio.getText();
            String iva=tfIva.getText();
           // double iva=Double.parseDouble(tfIva.getText());
            //int cantidad=Integer.parseInt(tfCantidad.getText());
            String largo=tfLargo.getText();
            String ancho=tfAncho.getText();
            String color=tfColor.getText();
            String material=tfMaterial.getText();
            String uso=String.valueOf(taUso);
            String categoria=(String)cCategorias.getSelectedItem();
          
           if(objValidador.validarDatosProducto( codigo, nombre, empresa, descripcion, precio, iva, cantidad, uso, ancho, largo, color, material) == true){
           objGestorProductos.adicionarProductoAInventario(categoria, codigo, nombre, empresa, descripcion, precio, iva, cantidad, uso, ancho,largo, color, material);  
        //   objGestorProductos.adicionarProductoAInventario("Carpas", "prueba", "prueba", "prueba", "prueba", 1200, 0.2, 3, "prueba", "prueba","prueba", "prueba", "prueba");  
           tfCodigo.setText(null);
           tfNombre.setText(null);
           tfEmpresa.setText(null);
           taDescripcion.setText(null);
           tfPrecio.setText(null);
           tfIva.setText(null);
           tfCantidad.setText(null);
           tfLargo.setText(null);
           tfAncho.setText(null);
           tfColor.setText(null);
           tfMaterial.setText(null);
           taUso.setText(null);
           
           //objGestorProductos.pruebaGuardado();
               
                }
    }}
       
   

       
       
}
